# -*- coding: utf-8 -*-
from collections import OrderedDict


'''
关键字：
_desc               对本字典的描述；
_match              当前层级目录需要正则匹配，形如 r"........." 为正则表达式  ；
_other              名称未明确说明，且正则也未匹配成功，则分入此项，非必须，如果没有此项，则被放到“未描述文件列表”中；
_seg                归类序列，以“|”分隔；
_rule               叶子节点，即发生修改的文件或目录，的描述方法，以“$”开头，以“|”分隔；
_re                 从文件名中提取信息的正则表达式，为列表形式，即： [r"a...", r"b...", ...]；

处理方法：
$name_cur           输出当前层级名称；
$name_rest          输出后面所有层级名称， python 处理： "/".join([])；
$name_next          输出下一层级名称；
$match              正则匹配，正则表达式在“_re”项中，多个 $match 可依次一一对应正则表达式；
$dir_match_n        输出父层级中第n个通过正则匹配的结果

'''


# rule = OrderedDict()

rule = {
    "artassets": {
        "_desc": u"美术资源",
        "character": {
            "_desc": u"",
            "hero": {
                "_desc": u"英雄",
                "animation": {
                    "_desc": u"动画",
                    "_match": [
                        {"([0-9]{3,4})": {
                            "_desc": u"",
                            "_match": [
                                {r"[0-9]{3,4}show\.fbx": {"_seg": u"英雄|展示英雄|%s|%s|动画|绑定模型|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.fbx", r"([0-9]{3,4})show\.fbx"]}},
                                {r"[0-9]{3,4}show\.controller": {"_seg": u"英雄|展示英雄|%s|%s|动画|展示动作配置|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.controller", r"([0-9]{3,4})show\.controller"]}},
                                {r"[0-9]{3,4}@show(idle)?[0-9]{1,2}\.fbx": {"_seg": u"英雄|展示英雄|%s|%s|动画|动作|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.fbx", r"([0-9]{3,4})@show.*\.fbx"]}},
                                {r"[0-9]{3,4}\.fbx": {"_seg": u"英雄|战斗内英雄|%s|%s|动画|绑定模型|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.fbx", r"([0-9]{3,4})\.fbx"]}},
                                {r"[0-9]{3,4}@.*\.fbx": {"_seg": u"英雄|战斗内英雄|%s|%s|动画|动作|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3})[01]?@.*\.fbx", r"([0-9]{3,4})@.*\.fbx"]}}
                            ]
                        }}
                    ]
                },
                "materials": {
                    "_desc": u"材质",
                    "_match": [
                        {r"[0-9]{3,4}_m_p(_[0-9])?\.mat": {"_seg": u"英雄|展示英雄|%s|%s|材质|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.mat", r"([0-9]{3,4})_m_p(_?[0-9]?)\.mat"]}},
                        {r"[0-9]{3}_m_showhd(_[0-9])?\.mat": {"_seg": u"英雄|战斗内英雄|%s|%s|材质|ob高清材质|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.mat", r"([0-9]{3,4})_m_showhd(_?[0-9]?)\.mat"]}},
                        {r"[0-9]{3,4}_hero_0_hd(_[0-9])?\.mat": {"_seg": u"英雄|战斗内英雄|%s|%s|材质|材质|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.mat", r"([0-9]{3,4})_hero_0_hd(_?[0-9]?)\.mat"]}},
                        {r"[0-9]{3,4}_sub(_[0-9])?\.mat": {"_seg": u"英雄|战斗内英雄|%s|%s|材质|低清材质|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.mat", r"([0-9]{3,4})_sub(_?[0-9]?)\.mat"]}}
                    ]
                },
                "mesh": {
                    "_desc": u"原始模型",
                    "_match": [
                        {r"[0-9]{3,4}_ms.*\.fbx": {"_seg": u"英雄|展示英雄|%s|%s|模型|模型|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.fbx", r"([0-9]{3,4}).*\.fbx"]}},
                        {r"[0-9]{3,4}_showhd\.fbx": {"_seg": u"英雄|展示英雄|%s|%s|模型|高清模型|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.fbx", r"([0-9]{3,4}).*\.fbx"]}},
                        {r"[0-9]{3,4}_wp.*\.fbx": {"_seg": u"英雄|展示英雄|%s|%s|模型|武器备份|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.fbx", r"([0-9]{3,4}).*\.fbx"]}},
                        {r"[0-9]{3,4}_lod.*\.fbx": {"_seg": u"英雄|战斗内英雄|%s|%s|模型|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.fbx", r"([0-9]{3,4}).*\.fbx"]}}
                    ]
                },
                "texture": {
                    "_desc": u"贴图",
                    "_match": [
                        {r"[0-9]{3,4}_lod.*\.(tga|png)": {"_seg": u"英雄|战斗内英雄|%s|%s|贴图|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*", r"([0-9]{3,4}).*"]}},
                        {r"[0-9]{3,4}_sub.*\.(tga|png|bmp)": {"_seg": u"英雄|战斗内英雄|%s|%s|低清贴图|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*", r"([0-9]{3,4}).*"]}}
                    ],
                    "_other": {"_seg": u"英雄|展示英雄|%s|%s|贴图|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*", r"([0-9]{3,4}).*"]}
                }
            },
            "weapon": {
                "_desc": u"武器",
                "materials": {
                    "_desc": u"材质",
                    "_match": [
                        {r"[0-9]{3,4}weapon(_[1-9])?_m_p(_[0-9])?\.mat": {"_seg": u"英雄|展示英雄|%s|武器|武器%s|材质|变色%s|%s", "_rule": "$match|$name_cur", "_re": [r"([0-9]{3,4})weapon(_?[1-9]?)_m_p(_?[1-9]?)\.mat"]}},
                        {r"[0-9]{3,4}weapon(_[1-9])?_m(_[0-9])?\.mat": {"_seg": u"英雄|战斗内英雄|%s|武器|武器%s|材质|变色%s|%s", "_rule": "$match|$name_cur", "_re": [r"([0-9]{3,4})weapon(_?[1-9]?)_m(_?[1-9]?)\.mat"]}},
                        {r"[0-9]{3,4}weapon(_[1-9])?(_[ab])?(_m)?_sub(_[0-9])?\.mat": {"_seg": u"英雄|战斗内英雄|%s|武器|武器%s|低清材质|左右手%s|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3,4})weapon(_?[1-9]?)(_?[ab]?)_?m?_sub_?[1-9]?\.mat", r"[0-9]{3,4}weapon_?[1-9]?_?[ab]?_?m?_sub(_?[1-9]?)\.mat"]}}
                    ]
                },
                "mesh": {
                    "_desc": u"模型",
                    "_match": [
                        {r"[0-9]{3,4}weapon(_[1-9])?(_[ab])?_p_ms\.fbx": {"_seg": u"英雄|展示英雄|%s|武器|武器%s|模型|左右手%s|%s", "_rule": "$match|$name_cur", "_re": [r"([0-9]{3,4})weapon(_?[1-9]?)(_?[ab]?)_p_ms\.fbx"]}},
                        {r"[0-9]{3,4}weapon(_[1-9])?(_[ab])?_ms\.fbx": {"_seg": u"英雄|战斗内英雄|%s|武器|武器%s|模型|左右手%s|%s", "_rule": "$match|$name_cur", "_re": [r"([0-9]{3,4})weapon(_?[1-9]?)(_?[ab]?)_ms\.fbx"]}}
                    ]
                },
                "texture": {
                    "_desc": u"贴图",
                    "_match": [
                        {r"[0-9]{3,5}weapon.*_p\.tga": {"_seg": u"英雄|展示英雄|%s|武器|武器%s|贴图|%s", "_rule": "$match|$name_cur", "_re": [r"([0-9]{3,4})weapon(_?[0-9]?).*\.tga"]}},
                        {r"[0-9]{3,5}weapon.*_sub\.(tga|png)": {"_seg": u"英雄|战斗内英雄|%s|武器|武器%s|低清贴图|%s", "_rule": "$match|$name_cur", "_re": [r"([0-9]{3,4})weapon(_?[0-9]?).*\..*"]}}
                    ],
                    "_other": {"_seg": u"英雄|战斗内英雄|%s|武器|武器%s|贴图|%s", "_rule": "$match|$name_cur", "_re": [r"([0-9]{3,4})weapon(_?[0-9]?).*\..*"]}
                }
            },
            "magiccube": {
                "_desc": u"制造魔方与宝石", "_seg": u"场景|魔方、卡牌、宝石|美术资源|%s", "_rule": "$name_rest"
            }
        },
        "collider": {"_desc": u"碰撞区-寻路", "_seg": u"场景|5v5场景|碰撞区-寻路|%s", "_rule": "$name_rest"},
        "effect": {
            "_desc": u"特效资源",
            "720820": {
                "_desc": u"",
                "_match": [
                    {r".*_.*\..*": {"_seg": u"UI|特效|720820|%s|%s", "_rule": "$match|$name_cur", "_re": [r"(^[^_]*_[^_]*)[\._].*"]}}
                ]
            },
            "animations": {
                "_desc": u"动画",
                "_match": [
                    {r"(3v3|5v5)_.*\..*": {"_seg": u"场景|特效|特效动画|%s|%s", "_rule": "$match|$name_cur", "_re": [r"(^[^_]*_[^_]*)[_\.].*"]}},
                    {r"[0-9]{3,4}_.*show.*\..*": {"_seg": u"英雄|展示英雄|%s|%s|特效|特效动画|%s|%s", "_rule": "$match|$match|$match|$name_cur", "_re": [r"([0-9]{3}).*", r"([0-9]{3,4}).*", r"(^[^_]*_[^_]*)[_\.].*"]}},
                    {r"[0-9]{3,4}_.*\..*": {"_seg": u"英雄|战斗内英雄|%s|%s|特效|特效动画|%s|%s", "_rule": "$match|$match|$match|$name_cur", "_re": [r"([0-9]{3}).*", r"([0-9]{3,4}).*", r"([^_]*_[^_]*)[_\.].*"]}},
                    {r"common_.*\..*": {"_seg": u"通用|特效|特效动画|%s|%s", "_rule": "$match|$name_cur", "_re": [r"(^[^_]*_[^_]*)[_\.].*"]}},
                    {r"[a-z]*ui_.*\..*": {"_seg": u"UI|特效|特效动画|%s|%s", "_rule": "$match|$name_cur", "_re": [r"(^[^_]*_[^_]*)[_\.].*"]}},
                    {r".*_.*\..*": {"_seg": u"通用|特效|特效动画|%s|%s", "_rule": "$match|$name_cur", "_re": [r"(^[^_]*_[^_]*)[_\.].*"]}}
                ],
                "ui": {
                    "_desc": "",
                    "_match": [
                        {r".*?_.*?\..*": {"_seg": u"UI|特效|特效动画|%s|%s", "_rule": "$match|$name_cur", "_re": [r"(^[^_]*_[^_]*)[_\.].*"]}}
                    ]
                },
                "skilllevel": {
                    "_desc": "",
                    "_match": [
                        {r".*?_.*?\..*": {"_seg": u"UI|特效|技能等级特效|特效动画|%s|%s", "_rule": "$match|$name_cur", "_re": [r"(^[^_]*_[^_]*)[_\.].*"]}}
                    ]
                },
                "killmassageanim": {
                    "_desc": "",
                    "_match": [
                        {r".*?_.*?\..*": {"_seg": u"UI|特效|击杀特效|特效动画|%s|%s", "_rule": "$match|$name_cur", "_re": [r"(^[^_]*_[^_]*)[_\.].*"]}}
                    ]
                }
            },
            "materials": {
                "_desc": u"材质",
                "_match": [
                    {r"(3v3|5v5)_.*\..*": {"_seg": u"场景|特效|材质|%s|%s", "_rule": "$match|$name_cur", "_re": [r"(^[^_]*_[^_]*)[_\.].*"]}},
                    {r"[0-9]{3,4}_.*show.*\..*": {"_seg": u"英雄|展示英雄|%s|%s|特效|材质|%s|%s", "_rule": "$match|$match|$match|$name_cur", "_re": [r"([0-9]{3}).*", r"([0-9]{3,4}).*", r"(^[^_]*_[^_]*)[_\.].*"]}},
                    {r"[0-9]{3,4}_.*\..*": {"_seg": u"英雄|战斗内英雄|%s|%s|特效|材质|%s|%s", "_rule": "$match|$match|$match|$name_cur", "_re": [r"([0-9]{3}).*", r"([0-9]{3,4}).*", r"(^[^_]*_[^_]*)[_\.].*"]}},
                    {r"common_.*\..*": {"_seg": u"通用|特效|材质|%s|%s", "_rule": "$match|$name_cur", "_re": [r"(^[^_]*_[^_]*)[_\.].*"]}},
                    {r"[a-z]*ui_.*\..*": {"_seg": u"UI|特效|材质|%s|%s", "_rule": "$match|$name_cur", "_re": [r"(^[^_]*_[^_]*)[_\.].*"]}},
                    {r".*_.*\..*": {"_seg": u"通用|特效|材质|%s|%s", "_rule": "$match|$name_cur", "_re": [r"(^[^_]*_[^_]*)[_\.].*"]}}
                ]
            },
            "meshs": {
                "_desc": u"模型",
                "_match": [
                    {r"(3v3|5v5)_.*\..*": {"_seg": u"场景|特效|模型|%s|%s", "_rule": "$match|$name_cur", "_re": [r"(^[^_]*_[^_]*)[_\.].*"]}},
                    {r"[0-9]{3,4}_.*show.*\..*": {"_seg": u"英雄|展示英雄|%s|%s|特效|模型|%s|%s", "_rule": "$match|$match|$match|$name_cur", "_re": [r"([0-9]{3}).*", r"([0-9]{3,4}).*", r"(^[^_]*_[^_]*)[_\.].*"]}},
                    {r"[0-9]{3,4}_.*\..*": {"_seg": u"英雄|战斗内英雄|%s|%s|特效|模型|%s|%s", "_rule": "$match|$match|$match|$name_cur", "_re": [r"([0-9]{3}).*", r"([0-9]{3,4}).*", r"(^[^_]*_[^_]*)[_\.].*"]}},
                    {r"common_.*\..*": {"_seg": u"通用|特效|模型|%s|%s", "_rule": "$match|$name_cur", "_re": [r"(^[^_]*_[^_]*)[_\.].*"]}},
                    {r"[a-z]*ui_.*\..*": {"_seg": u"UI|特效|模型|%s|%s", "_rule": "$match|$name_cur", "_re": [r"(^[^_]*_[^_]*)[_\.].*"]}},
                    {r".*_.*\..*": {"_seg": u"通用|特效|模型|%s|%s", "_rule": "$match|$name_cur", "_re": [r"(^[^_]*_[^_]*)[_\.].*"]}}
                ]
            },
            "prefabs": {
                "_desc": u"通用特效",
                "common": {"_desc": u"", "_seg": u"UI|特效|prefabs|通用特效|%s", "_rule": "$name_rest"},
                "hero": {
                    "_desc": u"",
                    "_match": [
                        {r"[0-9]{3,4}_.*": {"_seg": u"英雄|战斗内英雄|%s|%s|prefabs|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*", r"([0-9]{3,4}).*"]}}
                    ]
                }
            },
            "textures": {
                "_desc": u"贴图",
                "_match": [
                    {r"(3v3|5v5)_.*\..*": {"_seg": u"场景|特效|贴图|%s|%s", "_rule": "$match|$name_cur", "_re": [r"(^[^_]*_[^_]*)[_\.].*"]}},
                    {r"[0-9]{3,4}_.*show.*\..*": {"_seg": u"英雄|展示英雄|%s|%s|特效|贴图|%s|%s", "_rule": "$match|$match|$match|$name_cur", "_re": [r"([0-9]{3}).*", r"([0-9]{3,4}).*", r"(^[^_]*_[^_]*)[_\.].*"]}},
                    {r"[0-9]{3,4}_.*\..*": {"_seg": u"英雄|战斗内英雄|%s|%s|特效|贴图|%s|%s", "_rule": "$match|$match|$match|$name_cur", "_re": [r"([0-9]{3}).*", r"([0-9]{3,4}).*", r"(^[^_]*_[^_]*)[_\.].*"]}},
                    {r"common_.*\..*": {"_seg": u"通用|特效|贴图|%s|%s", "_rule": "$match|$name_cur", "_re": [r"(^[^_]*_[^_]*)[_\.].*"]}},
                    {r"[a-z]*ui_.*\..*": {"_seg": u"UI|特效|贴图|%s|%s", "_rule": "$match|$name_cur", "_re": [r"(^[^_]*_[^_]*)[_\.].*"]}},
                    {r".*_.*\..*": {"_seg": u"通用|特效|贴图|%s|%s", "_rule": "$match|$name_cur", "_re": [r"(^[^_]*_[^_]*)[_\.].*"]}}
                ]
            }
        },
        "emoji": {"_desc": u"聊天表情资源", "_seg": u"UI|聊天|表情资源|%s", "_rule": "$name_rest"},
        "environment": {
            "_desc": u"场景类资源",
            "_match": [
                {r"5v5([_a-z]*)?": {"_seg": u"场景|5v5场景|资源|%s|%s", "_rule": "$match|$name_rest", "_re": [r"(5v5.*)"]}}
            ],
            "heroshow": {"_seg": u"场景|展示场景|资源|%s", "_rule": "$name_rest"},
            "effect": {"_seg": u"场景|场景特效|资源|%s", "_rule": "$name_rest"}
        },
        "ui_stuff": {
            "_desc": u"ui界面动画资源",
            "animation": {"_seg": u"UI|界面动画|动画|%s", "_rule": "$name_rest"},
            "material": {"_seg": u"UI|界面动画|材质|%s", "_rule": "$name_rest"},
            "texture": {"_seg": u"UI|界面动画|贴图|%s", "_rule": "$name_rest"},
        },
        "_other": {"_desc": "", "_seg": u"其它|ArtAssets|%s|%s", "_rule": "$name_cur|$name_rest"}
    },
    "exporter": {
        "_desc": u"prefab资源",
        "common": {
            "_desc": u"",
            "action": {"_desc": u"战斗装备配置", "_seg": u"UI|战场装备(配置)|%s", "_rule": "$name_rest"},
            "effect": {"_desc": u"战斗内通用特效", "_seg": u"UI|通用|战斗内通用特效|%s", "_rule": "$name_rest"},
            "emojitext": {"_desc": u"聊天表情", "_seg": u"UI|聊天表情|%s", "_rule": "$name_rest"},
            "font": {"_desc": u"游戏内字体", "_seg": u"UI|字体|%s", "_rule": "$name_rest"},
            "headframe": {"_desc": u"头像框", "_seg": u"UI|头像框|%s", "_rule": "$match", "_re": [r"headframe([0-9]{1,2}).prefab"]},
            "headicon": {
                "_desc": u"英雄头像图标",
                "_match": [
                    {r"[0-9]{3,4}_headicon.*\.prefab": {"_seg": u"英雄|展示英雄|%s|%s|英雄头像|%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.prefab", r"([0-9]{3,4})_headicon(_?[a-z]*?)\.prefab"]}}
                ]
            },
            "indicator_effect": {"_desc": u"英雄技能指示器", "_seg": u"UI|界面|战斗内技能指示器|%s", "_rule": "$name_rest"},
            "scenedesign": {"_desc": u"5v5场景配置文件", "_seg": u"场景|5v5场景|配置", "_rule": "$name_rest"},
            "skymanage": {
                "_desc": u"战斗内场景灯光、展示场景",
                "_match": [
                    {".*show.*": {"_seg": u"UI|场景|展示灯光", "_rule": ""}},
                    {".*": {"_seg": u"UI|场景|灯光", "_rule": ""}}
                ]
            },
            "texture": {"_desc": u"ui界面图片资源", "_seg": u"UI|界面|贴图资源|%s", "_rule": "$name_next"}
        },
        "hero": {
            "_desc": u"英雄",
            "_match": [
                {"([0-9]{3})": {
                    "_desc": u"",
                    "_match": [
                        {"([0-9]{3})$": {
                            "_desc": u"原版英雄",
                            "effect": {
                                "_desc": u"技能特效",
                                "_match": [
                                    {r"[0-9]{3}_[a-z]_.*\.prefab": {"_seg": u"英雄|战斗内英雄|%s|特效|技能特效%s|技能%s|%s", "_rule": "$match|$name_cur", "_re": [r"([0-9]{3})_([a-z])_(.*)\.prefab"]}}
                                ],
                                "_other": {"_desc": "", "_seg": u"英雄|战斗内英雄|%s|特效|其它|%s", "_rule": "$dir_match_0|$name_cur"}
                            },
                            "icon": {
                                "_desc": u"技能图标",
                                "_match": [
                                    {r"[0-9]{3}[0-9]0.*\.prefab": {"_seg": u"英雄|战斗内英雄|%s|%s|技能图标|%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.prefab", r"([0-9]{3})([0-9]{2}).*\.prefab"]}}
                                ],
                                "_other": {"_desc": "", "_seg": u"英雄|战斗内英雄|%s|图标|其它|%s", "_rule": "$dir_match_0|$name_cur"}
                            },
                            "skin": {
                                "_desc": u"皮肤",
                                "_match": [
                                    {r"[0-9]{3}_.*\.prefab": {"_seg": u"英雄|战斗内英雄|%s|%s|原版皮肤|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3})_.*\.prefab", r"([0-9]{3})(_.*)\.prefab"]}}
                                ],
                                "_other": {"_desc": "", "_seg": u"英雄|战斗内英雄|%s|皮肤|其它|%s", "_rule": "$dir_match_0|$name_cur"}
                            }
                        }},
                        {"([0-9]{3}0)": {
                            "_desc": u"经典英雄皮肤",
                            "skin": {
                                "_match": [
                                    {r"[0-9]{4}_.*\.prefab": {"_seg": u"英雄|战斗内英雄|%s|%s|经典皮肤|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.prefab", r"([0-9]{3}0)_(.*)\.prefab"]}}
                                ],
                                "_other": {"_desc": "", "_seg": u"英雄|战斗内英雄|%s|%s|经典皮肤|其它|%s", "_rule": "$dir_match_0|$dir_match_1|$name_cur"}
                            }
                        }},
                        {"([0-9]{3}1)": {
                            "_desc": u"未来英雄皮肤",
                            "skin": {
                                "_match": [
                                    {r"[0-9]{4}_.*\.prefab": {"_seg": u"英雄|战斗内英雄|%s|%s|未来皮肤|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.prefab", r"([0-9]{3}1)_(.*)\.prefab"]}}
                                ],
                                "_other": {"_desc": "", "_seg": u"英雄|战斗内英雄|%s|%s|未来皮肤|其它|%s", "_rule": "$dir_match_0|$dir_match_1|$name_cur"}
                            }
                        }},
                        {"([0-9]{3}3)": {
                            "_desc": u"3英雄皮肤",
                            "skin": {
                                "_match": [
                                    {r"[0-9]{4}_.*\.prefab": {"_seg": u"英雄|战斗内英雄|%s|%s|皮肤3|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.prefab", r"([0-9]{3}3)_(.*)\.prefab"]}}
                                ],
                                "_other": {"_desc": "", "_seg": u"英雄|战斗内英雄|%s|%s|皮肤3|其它|%s", "_rule": "$dir_match_0|$dir_match_1|$name_cur"}
                            }
                        }}
                    ],
                    "action": {
                        "_desc": u"英雄技能配置",
                        "_match": [
                            {r"[0-9]{3,4}.*": {"_seg": u"英雄|战斗内英雄|%s|技能配置|%s", "_rule": "$match|$name_cur", "_re": [r"([0-9]{3}).*"]}}
                        ],
                        "_other": {"_desc": "", "_seg": u"英雄|战斗内英雄|%s|配置|其它|%s", "_rule": "$dir_match_0|$name_cur"}
                    },
                    "actorinfo": {
                        "_desc": u"英雄外观配置",
                        "_match": [
                            {r"[0-9]{3,4}_.*": {"_seg": u"英雄|战斗内英雄|%s|外观配置|%s", "_rule": "$match|$name_cur", "_re": [r"([0-9]{3}).*"]}}
                        ]
                    },
                    "gem": {
                        "_desc": u"特效",
                        "gem1": {
                            "_desc": u"技能皮肤特效",
                            "_match": [
                                {r"[0-9]{3}_[a-z]_.*?_[0-9]{1,2}.*": {"_seg": u"英雄|战斗内英雄|%s|特效|技能特效%s|技能%s|%s", "_rule": "$match|$name_cur", "_re": [ r"([0-9]{3})_([a-z])_(.*)\.prefab"]}}
                            ]
                        },
                        "gem2": {
                            "_desc": u"技能变色特效",
                            "_match": [
                                {r"[0-9]{3}_[a-z]2_.*_[0-9]{1,2}.*": {"_seg": u"英雄|战斗内英雄|%s|特效|技能特效%s|技能%s|%s", "_rule": "$match|$name_cur", "_re": [r"([0-9]{3})_([a-z]2)_(.*)\.prefab"]}}
                            ]
                        }
                    },
                    "weapon": {
                        "_desc": u"武器",
                        "weapon_a": {
                            "_desc": u"",
                            "effect": {
                                "_desc": u"武器a",
                                "_match": [
                                    {r"[0-9]{3}_weapon.*effect_b.prefab": {"_seg": u"英雄|战斗内英雄|%s|武器|武器_a|武器特效|左右手%s|%s", "_rule": "$match|$name_cur", "_re": [r"([0-9]{3})_weapon(_?[ab]?).*\.prefab"]}}
                                ]
                            },
                            "_other": {"_desc": u"武器模型", "_seg": u"英雄|战斗内英雄|%s|武器|武器_a|prefab|左右手%s|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3})weapon(_?[ab]?).*\.prefab", r"[0-9]{3}weapon.*(_?[0-9]?).*\.prefab"]}
                        },
                        "weapon_b": {
                            "_desc": u"",
                            "effect": {
                                "_desc": u"武器b",
                                "_match": [
                                    {r"[0-9]{3}_weapon.*effect_b.prefab": {"_seg": u"英雄|战斗内英雄|%s|武器|武器_b|武器特效|左右手%s|%s", "_rule": "$match|$name_cur", "_re": [r"([0-9]{3})_weapon_1(_?[ab]?).*\.prefab"]}}
                                ]
                            },
                            "_other": {"_desc": u"武器模型", "_seg": u"英雄|战斗内英雄|%s|武器|武器_b|prefab|左右手%s|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3})weapon_1(_?[ab]?).*\.prefab", r"[0-9]{3}weapon_1.*(_?[0-9]?).*\.prefab"]}
                        },
                        "weapon_c": {
                            "_desc": u"",
                            "effect": {
                                "_desc": u"武器c",
                                "_match": [
                                    {r"[0-9]{3}_weapon.*effect_b.prefab": {"_seg": u"英雄|战斗内英雄|%s|武器|武器_c|武器特效|左右手%s|%s", "_rule": "$match|$name_cur", "_re": [r"([0-9]{3})_weapon_2(_?[ab]?).*\.prefab"]}}
                                ]
                            },
                            "_other": {"_desc": u"武器模型", "_seg": u"英雄|战斗内英雄|%s|武器|武器_c|prefab|左右手%s|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3})weapon_2(_?[ab]?).*\.prefab", r"[0-9]{3}weapon_2.*(_?[0-9]?).*\.prefab"]}
                        },
                        "weapon_d": {
                            "_desc": u"",
                            "effect": {
                                "_desc": u"武器d",
                                "_match": [
                                    {r"[0-9]{3}_weapon.*effect_b.prefab": {"_seg": u"英雄|战斗内英雄|%s|武器|武器_d|武器特效|左右手%s|%s", "_rule": "$match|$name_cur", "_re": [r"([0-9]{3})_weapon_3(_?[ab]?).*\.prefab"]}}
                                ]
                            },
                            "_other": {"_desc": u"武器模型", "_seg": u"英雄|战斗内英雄|%s|武器|武器_d|prefab|左右手%s|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3})weapon_3(_?[ab]?).*\.prefab", r"[0-9]{3}weapon_3.*(_?[0-9]?).*\.prefab"]}
                        },
                        "weapon_f": {
                            "_desc": u"",
                            "effect": {
                                "_desc": u"武器f",
                                "_match": [
                                    {r"[0-9]{3}_weapon.*effect_b.prefab": {"_seg": u"英雄|战斗内英雄|%s|武器|武器_f|武器特效|左右手%s|%s", "_rule": "$match|$name_cur", "_re": [r"([0-9]{3})_weapon_5(_?[ab]?).*\.prefab"]}}
                                ]
                            },
                            "_other": {"_desc": u"武器模型", "_seg": u"英雄|战斗内英雄|%s|武器|武器_f|prefab|左右手%s|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3})weapon_5(_?[ab]?).*\.prefab", r"[0-9]{3}weapon_5.*(_?[0-9]?).*\.prefab"]}
                        }
                    }
                }}
            ]
        },
        "heroshow": {
            "_desc": u"英雄",
            "_match": [
                {"([0-9]{3})": {
                    "_desc": u"",
                    "_match": [
                        {"([0-9]{3})$": {
                            "_desc": u"原版英雄",
                            "effect": {
                                "_desc": u"技能特效",
                                "_match": [
                                    {r"[0-9]{3}_.*\.prefab": {"_seg": u"英雄|展示英雄|%s|%s|特效|原版出场特效|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.prefab", r"([0-9]{3}).*\.prefab"]}}
                                ]
                            },
                            "icon": {
                                "_desc": u"技能图标",
                                "_match": [
                                    {r"[0-9]{3}[0-9]0\.prefab": {"_seg": u"英雄|展示英雄|%s|%s|技能图标|%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.prefab", r"([0-9]{3})([0-9]{2})\.prefab"]}}
                                ]
                            },
                            "skin": {
                                "_desc": u"皮肤",
                                "_match": [
                                    {r"[0-9]{3}_?[1-9]?_show.*\.prefab": {"_seg": u"英雄|展示英雄|%s|%s|原版皮肤|prefab|prefab%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.prefab", r"([0-9]{3})(_?[0-9]?)_show\.prefab"]}},
                                    {r"[0-9]{3}_name\.prefab": {"_seg": u"英雄|展示英雄|%s|%s|原版皮肤|prefab|名字特效|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3})_name\.prefab", r"([0-9]{3})_name\.prefab"]}}
                                ]
                            },
                            "sound": {
                                "_desc": u"口型",
                                "_match": [
                                    {r"[0-9]{3}[0-9]{3}\.prefab": {"_seg": u"英雄|展示英雄|%s|%s|原版口型|类型%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.prefab", r"([0-9]{3})([0-9]{3})\.prefab"]}}
                                ]
                            }
                        }},
                        {"([0-9]{3}0)": {
                            "_desc": u"经典英雄皮肤",
                            "effect": {
                                "_desc": u"技能特效",
                                "_match": [
                                    {r"[0-9]{3}0_.*\.prefab": {"_seg": u"英雄|展示英雄|%s|%s|特效|经典出场特效|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.prefab", r"([0-9]{3}0).*\.prefab"]}}
                                ]
                            },
                            "skin": {
                                "_match": [
                                    {r"[0-9]{3}0_.*\.prefab": {"_seg": u"英雄|展示英雄|%s|%s|经典皮肤|prefab|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.prefab", r"([0-9]{3}0)(_?[1-9]?)_show\.prefab"]}}
                                ]
                            },
                            "sound": {
                                "_desc": u"口型",
                                "_match": [
                                    {r"[0-9]{3}0[0-9]{3}\.prefab": {"_seg": u"英雄|展示英雄|%s|%s|经典口型|类型%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.prefab", r"([0-9]{3}0)([0-9]{3})\.prefab"]}}
                                ]
                            }
                        }},
                        {"([0-9]{3}1)": {
                            "_desc": u"未来英雄皮肤",
                            "effect": {
                                "_desc": u"技能特效",
                                "_match": [
                                    {r"[0-9]{3}1_.*\.prefab": {"_seg": u"英雄|展示英雄|%s|%s|特效|未来出场特效|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.prefab", r"([0-9]{3}1).*\.prefab"]}}
                                ]
                            },
                            "skin": {
                                "_match": [
                                    {r"[0-9]{3}1_.*\.prefab": {"_seg": u"英雄|展示英雄|%s|%s|未来皮肤|prefab|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.prefab", r"([0-9]{3}1)(_?[1-9]?)_show.*\.prefab"]}}
                                ]
                            },
                            "sound": {
                                "_desc": u"口型",
                                "_match": [
                                    {r"[0-9]{3}1[0-9]{3}\.prefab": {"_seg": u"英雄|展示英雄|%s|%s|未来口型|类型%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.prefab", r"([0-9]{3}1)([0-9]{3})\.prefab"]}}
                                ]
                            }
                        }},
                        {"([0-9]{3}3)": {
                            "_desc": u"3英雄皮肤",
                            "effect": {
                                "_desc": u"技能特效",
                                "_match": [
                                    {r"[0-9]{3}3_.*\.prefab": {"_seg": u"英雄|展示英雄|%s|%s|特效|出场特效3|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.prefab", r"([0-9]{3}3).*\.prefab"]}}
                                ]
                            },
                            "skin": {
                                "_match": [
                                    {r"[0-9]{3}3_.*\.prefab": {"_seg": u"英雄|展示英雄|%s|%s|皮肤3|prefab|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.prefab", r"([0-9]{3}3)(_?[1-9]?)_show.*\.prefab"]}}
                                ]
                            },
                            "sound": {
                                "_desc": u"口型",
                                "_match": [
                                    {r"[0-9]{3}3[0-9]{3}\.prefab": {"_seg": u"英雄|展示英雄|%s|%s|口型3|类型%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3}).*\.prefab", r"([0-9]{3}3)([0-9]{3})\.prefab"]}}
                                ]
                            }
                        }}
                    ],
                    "weapon": {
                        "_desc": u"武器",
                        "weapon_a": {
                            "_desc": u"",
                            "effect": {
                                "_desc": u"武器a",
                                "_match": [
                                    {r"[0-9]{3}_show_weapon.*effect_b.prefab": {"_seg": u"英雄|展示英雄|%s|武器|武器_a|武器特效|左右手%s|%s", "_rule": "$match|$name_cur", "_re": [r"([0-9]{3})_show_weapon(_?[ab]?).*\.prefab"]}}
                                ]
                            },
                            "_other": {"_desc": u"武器模型", "_seg": u"英雄|展示英雄|%s|武器|武器_a|prefab|左右手%s|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3})weapon(_?[ab]?).*\.prefab", r"[0-9]{3}weapon.*_show(_?[0-9]?).*\.prefab"]}
                        },
                        "weapon_b": {
                            "_desc": u"",
                            "effect": {
                                "_desc": u"武器b",
                                "_match": [
                                    {r"[0-9]{3}_show_weapon.*effect_b.prefab": {"_seg": u"英雄|展示英雄|%s|武器|武器_b|武器特效|左右手%s|%s", "_rule": "$match|$name_cur", "_re": [r"([0-9]{3})_show_weapon_1(_?[ab]?).*\.prefab"]}}
                                ]
                            },
                            "_other": {"_desc": u"武器模型", "_seg": u"英雄|展示英雄|%s|武器|武器_b|prefab|左右手%s|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3})weapon_1(_?[ab]?).*\.prefab", r"[0-9]{3}weapon_1.*_show(_?[0-9]?).*\.prefab"]}
                        },
                        "weapon_c": {
                            "_desc": u"",
                            "effect": {
                                "_desc": u"武器c",
                                "_match": [
                                    {r"[0-9]{3}_show_weapon.*effect_b.prefab": {"_seg": u"英雄|展示英雄|%s|武器|武器_c|武器特效|左右手%s|%s", "_rule": "$match|$name_cur", "_re": [r"([0-9]{3})_show_weapon_2(_?[ab]?).*\.prefab"]}}
                                ]
                            },
                            "_other": {"_desc": u"武器模型", "_seg": u"英雄|展示英雄|%s|武器|武器_c|prefab|左右手%s|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3})weapon_2(_?[ab]?).*\.prefab", r"[0-9]{3}weapon_2.*_show(_?[0-9]?).*\.prefab"]}
                        },
                        "weapon_d": {
                            "_desc": u"",
                            "effect": {
                                "_desc": u"武器d",
                                "_match": [
                                    {r"[0-9]{3}_show_weapon.*effect_b.prefab": {"_seg": u"英雄|展示英雄|%s|武器|武器_d|武器特效|左右手%s|%s", "_rule": "$match|$name_cur", "_re": [r"([0-9]{3})_show_weapon_3(_?[ab]?).*\.prefab"]}}
                                ]
                            },
                            "_other": {"_desc": u"武器模型", "_seg": u"英雄|展示英雄|%s|武器|武器_d|prefab|左右手%s|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3})weapon_3(_?[ab]?).*\.prefab", r"[0-9]{3}weapon_3.*_show(_?[0-9]?).*\.prefab"]}
                        },
                        "weapon_f": {
                            "_desc": u"",
                            "effect": {
                                "_desc": u"武器f",
                                "_match": [
                                    {r"[0-9]{3}_show_weapon.*effect_b.prefab": {"_seg": u"英雄|展示英雄|%s|武器|武器_f|武器特效|左右手%s|%s", "_rule": "$match|$name_cur", "_re": [r"([0-9]{3})_show_weapon_5(_?[ab]?).*\.prefab"]}}
                                ]
                            },
                            "_other": {"_desc": u"武器模型", "_seg": u"英雄|展示英雄|%s|武器|武器_f|prefab|左右手%s|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"([0-9]{3})weapon_5(_?[ab]?).*\.prefab", r"[0-9]{3}weapon_5.*_show(_?[0-9]?).*\.prefab"]}
                        }
                    }
                }}
            ]
        },
        "ui": {
            "_desc": u"ui",
            "advertisement": {"_desc": u"启动界面公益广告", "_seg": u"UI|界面|启动界面|公益广告|%s", "_rule": "$name_rest"},
            "battle": {"_desc": u"战斗内界面", "_seg": u"UI|界面|战斗内界面|%s", "_rule": "$name_rest"},
            "battle_ob": {"_desc": u"战斗ob界面", "_seg": u"UI|界面|战斗内ob界面|%s", "_rule": "$name_rest"},
            "battleend": {"_desc": u"战斗结束界面", "_seg": u"UI|界面|战斗结束界面|%s", "_rule": "$name_rest"},
            "common": {"_desc": u"聊天、信息界面", "_seg": u"UI|界面|聊天信息界面|%s", "_rule": "$name_rest"},
            "dialogbox": {"_desc": u"通用对话框", "_seg": u"UI|通用|通用对话框|%s", "_rule": "$name_rest"},
            "employer": {"_desc": u"雇佣界面", "_seg": u"UI|界面|雇佣界面|%s", "_rule": "$name_rest"},
            "equipicon": {"_desc": u"战场装备图标", "_seg": u"UI|战场装备图标|%s", "_rule": "$name_rest"},
            "handbook": {"_desc": u"外观界面", "_seg": u"UI|界面|外观界面|%s", "_rule": "$name_rest"},
            "hero": {
                "_desc": u"英雄变色半身像",
                "_match": [
                    {r"icon_big_skin_([0-9]{3})([01]?)(_?[2-9]?)\..*": {"_seg": u"英雄|展示英雄|%s|%s|英雄半身像|变色%s|%s", "_rule": "$match|$match|$name_cur", "_re": [r"icon_big_skin_([0-9]{3}).*", r"icon_big_skin_([0-9]{3,4})(_?[1-9]?)\..*"]}}
                ]
            },
            "heroinfo": {"_desc": u"英雄详情-预检查", "_seg": u"UI|英雄详情|%s", "_rule": "$name_rest"},
            "hirelevel": {"_desc": u"雇佣等级界面", "_seg": u"UI|雇佣等级界面|%s", "_rule": "$name_rest"},
            "itemicon": {
                "_desc": u"战场外-公用图标",
                "battleattribute": {"_desc": u"战斗属性", "_seg": u"UI|通用|图标|界面图标|%s|%s", "_rule": "$name_cur|$name_rest"},
                "battlepraise": {"_desc": u"战斗点赞", "_seg": u"UI|通用|图标|界面图标|%s|%s", "_rule": "$name_cur|$name_rest"},
                "mail": {"_desc": u"邮件", "_seg": u"UI|通用|图标|界面图标|%s|%s", "_rule": "$name_cur|$name_rest"},
                "season": {"_desc": u"赛季", "_seg": u"UI|通用|图标|界面图标|%s|%s", "_rule": "$name_cur|$name_rest"},
                "skillslot": {"_desc": u"技能槽", "_seg": u"UI|通用|图标|界面图标|%s|%s", "_rule": "$name_cur|$name_rest"},
                "texture": {"_desc": u"头像，品质图集", "_seg": u"UI|通用|图标|头像、品质图集|%s", "_rule": "$name_rest"},
                "weaponicon": {"_desc": u"武器图标", "_seg": u"UI|通用|图标|武器图标|%s", "_rule": "$name_rest"},
                "_other": {"_desc": u"", "_seg": u"UI|通用|图标|其它|%s", "_rule": "$name_cur"}
            },
            "launch": {"_desc": u"登录界面", "_seg": u"UI|界面|登录界面|%s", "_rule": "$name_rest"},
            "loading": {"_desc": u"战斗载入界面", "_seg": u"UI|界面|战斗载入界面|%s", "_rule": "$name_rest"},
            "lobby_new": {"_desc": u"主界面、好友、邮件", "_seg": u"UI|主界面|好友、邮件|%s", "_rule": "$name_rest"},
            "matchhero": {"_desc": u"匹配界面", "_seg": u"UI|界面|匹配界面|%s", "_rule": "$name_rest"},
            "produceskill_new": {"_desc": u"制造界面", "_seg": u"UI|界面|制造界面|%s", "_rule": "$name_rest"},
            "store_new": {"_desc": u"交易界面", "_seg": u"UI|界面|交易界面|%s", "_rule": "$name_rest"},
            "uimodel": {"_desc": u"制造界面-卡片模型", "_seg": u"场景|魔方、卡牌、宝石|模型|%s", "_rule": "$name_rest"},
            "uimodellobby": {"_desc": u"主界面-背景-组件，特效，地台", "_seg": u"UI|主界面|展示场景组件|prefab|%s", "_rule": "$name_rest"},
            "weapon": {
                "_desc": u"武器变色半身像",
                "_match": [
                    {r"icon_big_weapon_([0-9]{3})(_[a-z])([2-9]?)\..*": {"_seg": u"英雄|展示英雄|%s|武器|武器%s|武器半身像|变色%s|%s", "_rule": "$match|$name_cur", "_re": [r"icon_big_weapon_([0-9]{3})(_[a-z])([1-9]?)\..*"]}}
                ]
            },
            "_other": {"_desc": "", "_seg": u"UI|%s|%s", "_rule": "$name_cur|$name_rest"}
        },
        "_other": {"_desc": "", "_seg": u"其它|Exporter|%s|%s", "_rule": "$name_cur|$name_rest"}
    }
}



